package com.spzx.auth.controller;

import com.spzx.auth.service.H5Service;
import com.spzx.common.core.web.controller.BaseController;
import com.spzx.common.core.web.domain.AjaxResult;
import com.spzx.user.domain.UserInfo;
import com.spzx.user.domain.UserRegisterDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.annotation.Resources;
import org.springframework.web.bind.annotation.*;


@Tag(name="会员认证模块")
@RequestMapping("h5")
@RestController
public class H5Controller extends BaseController {

    @Resource
    H5Service h5Service;



     /*
        1、请求参数的接收
            {
              "username": "13522222222",
              "password": "123456",
              "nickName": "1123",
              "code": "1111"
            }
        2、业务处理
            spzx-auth远程调用 spzx-user服务处理
        3、响应数据返回： 不需要返回
            参考接口文档、借鉴后台管理系统注册
     */
    @Operation(summary = "注册")
    @PostMapping("register")
    public AjaxResult register(@RequestBody UserRegisterDTO userRegisterDTO){
        h5Service.register(userRegisterDTO);
        return success();
    }
    @Operation(summary = "登录")
    @PostMapping("login")
    public AjaxResult login(@RequestBody UserRegisterDTO userRegisterDTO){
        // LoginUser管理员登录成功返回的数据 包含管理员权限信息..
        // 会员用户登录 : 根据登录账号+密码查询会员数据
        UserInfo userInfo = h5Service.login(userRegisterDTO);
        // 获取登录token
        //tokenService.createToken(userInfo) : 根据登录查询到的用户信息创建jwttoken字符串返回
        //处理userInfo转为token
        return success(h5Service.createToken(userInfo));
    }




}
